import request from '@/config/axios'

// 授信信息 VO
export interface CreditApplicationVO {
  id: number // 编号
  userId: string // 用户唯一标识
  idCardNumber: string // 身份证号码
  name: string
  age: number // 年龄
  phoneNumber: string // 手机号码
  idCardFrontImage: string // 身份证正面照片路径
  idCardBackImage: string // 身份证反面照片路径
  faceImage: string // 面部照片路径
  companyName: string // 工作单位名称
  companyAddress: string // 工作地址
  position: string // 职位
  annualIncome: string // 年收入
  maritalStatus: string // 婚姻状况
  education: string // 学历
  contact1Name: string // 紧急联系人1姓名
  contact1Phone: string // 紧急联系人1电话
  contact1Relationship: string // 紧急联系人1关系
  contact2Name: string // 紧急联系人2姓名
  contact2Phone: string // 紧急联系人2电话
  contact2Relationship: string // 紧急联系人2关系
  applicationTime: Date // 申请时间
  status: string // 申请状态
  isHousingFund: boolean // 是否缴纳公积金
  isSocialInsurancePaid: boolean // 是否缴纳社保
  salaryBank: string // 工资发放银行
  businessLicense: string // 营业执照照片路径
  hasBusinessLicense: boolean // 是否有营业执照
  hasBankFlow: boolean // 是否有银行流水
  isRealOperation: boolean // 是否真实经营
  hasDebt: boolean // 是否有负债
  debtAmount: number // 负债金额
  debtType: string // 负债类型
  hasOverdue: boolean // 是否有逾期
  overdueDays: number // 逾期天数
  monthlyRepayment: number // 每月还款额
  hasLawsuit: boolean // 是否有官司
  lawsuitDescription: string // 官司描述
}

// 授信信息 API
export const CreditApplicationApi = {
  // 查询授信信息分页
  getCreditApplicationPage: async (params: any) => {
    return await request.get({ url: `/system/credit-application/page`, params })
  },

  // 查询授信信息详情
  getCreditApplication: async (id: number) => {
    return await request.get({ url: `/system/credit-application/get?id=` + id })
  },


  getCreditApplicationByUserId: async (id: number) => {
    return await request.get({ url: `/system/credit-application/getCreditApplicationByUserId?id=` + id })
  },

  // 新增授信信息
  createCreditApplication: async (data: CreditApplicationVO) => {
    return await request.post({ url: `/system/credit-application/create`, data })
  },

  // 修改授信信息
  updateCreditApplication: async (data: CreditApplicationVO) => {
    return await request.put({ url: `/system/credit-application/update`, data })
  },

  // 删除授信信息
  deleteCreditApplication: async (id: number) => {
    return await request.delete({ url: `/system/credit-application/delete?id=` + id })
  },

  // 导出授信信息 Excel
  exportCreditApplication: async (params) => {
    return await request.download({ url: `/system/credit-application/export-excel`, params })
  },

  // 导出授信信息 Excel
  exportViewCreditApplication: async (params) => {
    return await request.download({ url: `/system/credit-application/export-excelView`, params })
  },
}
